//
//  PresentAnimationClass.h
//  Model
//
//  Created by caohanchao on 2017/6/5.
//  Copyright © 2017年 YDJH. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>


/**
 
 *  转场类型
 
 */
typedef enum : NSUInteger {
    /**
     *  淡入淡出
     */
    AnimationTypeFade = 1,
    
    /**
     *  推挤
     */
    AnimationTypePush,
    
    /**
     *  揭开
     */
    AnimationTypeReveal,
    
    /**
     *  覆盖
     */
    AnimationTypeMoveIn,
    
    /**
     *  立方体
     */
    AnimationTypeCube,
    
    /**
     *  吮吸
     */
    AnimationTypeSuckEffect,
    
    /**
     *  翻转
     */
    AnimationTypeOglFlip,
    
    /**
     *  波纹
     */
    AnimationTypeRippleEffect,
    
    /**
     *  翻页
     */
    AnimationTypePageCurl,
    
    /**
     *  反翻页
     */
    AnimationTypePageUnCurl,
    
    /**
     *  开镜头
     */
    AnimationTypeCameraIrisHollowOpen,
    
    /**
     *  关镜头
     */
    AnimationTypeCameraIrisHollowClose,
    
    /**
     *  下翻页
     */
    AnimationTypeCurlDown,
    
    /**
     *  上翻页
     */
    AnimationTypeCurlUp,
    
    /**
     *  左翻转
     */
    AnimationTypeFlipFromLeft,
    
    /**
     *  右翻转
     */
    AnimationTypeFlipFromRight,
    
} AnimationType;


/**
 
 * 定义转场方向
 
 */
typedef enum : NSUInteger {
    
    AnimationDirectionBottom = 0,
    
    AnimationDirectionLeft,
    
    AnimationDirectionRight,
    
    AnimationDirectionTop
    
} AnimationDirection;



@interface PresentAnimationClass : NSObject


/**
 *  自定义转场效果
 *
 *  @param type              转场类型 push 或者 其他类型
 *  @param animationDirection 转场方向
 *  @param duration          时间 默认为1s
 *  @param fromViewController fromVC
 *  @param toViewController   toVC
 */

+ (void)transitionWithType:(AnimationType)type withAnimationDirection:(AnimationDirection)animationDirection duration:(NSTimeInterval)duration fromVC:(UIViewController *)fromViewController toVC:(UIViewController *)toViewController;


@end
